import 'package:flutter_windowmanager/flutter_windowmanager.dart';

class XinDongWindowSingleton {
  void open() {
    // 防止屏幕截图/录制
    FlutterWindowManager.addFlags(FlutterWindowManager.FLAG_SECURE);
  }

  void close() {
    // 清除设置的标志
    FlutterWindowManager.clearFlags(FlutterWindowManager.FLAG_SECURE);
  }

  /// ======== 单例
  // 工厂方法构造函数
  factory XinDongWindowSingleton() => _getInstance();

  // instance的getter方法，singletonManager.instance获取对象
  static XinDongWindowSingleton get instance => _getInstance();

  // 静态变量_instance，存储唯一对象
  static XinDongWindowSingleton? _instance;

  // 获取对象
  static XinDongWindowSingleton _getInstance() {
    _instance ??= XinDongWindowSingleton._internal();
    return _instance!;
  }

  // 私有的自定义命名式构造方法，通过它实现一个类;
  // 子类不能继承internal
  // 不是关键字，可定义其他名字
  XinDongWindowSingleton._internal() {
    //初始化(设置一些默认的)...
  }
}
